package main

import "fmt"

func main() {

	// 数组
	// var arr1 [3]int
	// var arr2 [4]int
	// var strArr [3]string

	// //arr1:[3]int  arr2:[4]int  strArr:[3]string
	// // 数组长度是类型的一部分
	// fmt.Printf("arr1:%T  arr2:%T  strArr:%T\n", arr1, arr2, strArr)

	// arr1[0] = 10
	// fmt.Println(arr1)

	var arr1 = [3]int{12, 23, 34}
	fmt.Println(arr1)

	arr2 := [3]int{1, 2, 3}
	fmt.Println(arr2)

	//自动推导长度
	arr3 := [...]int{1, 2, 3, 4, 5}
	fmt.Println(arr3)

	//通过索引来指定数组元素
	//索引5 也就是有6个元素
	arr4 := [...]int{0: 1, 2: 50, 5: 10}
	fmt.Println(arr4)

	for k, v := range arr4 {
		fmt.Printf("k=%v, v=%v\n", k, v)
	}

	//两数之和等于8，输出下标
	nums := [...]int{1, 3, 5, 7, 8}
	for i := 0; i < len(nums); i++ {
		for j := i + 1; j < len(nums); j++ {
			if nums[i]+nums[j] == 8 {
				fmt.Printf("(%v, %v)", i, j)
			}
		}
	}
}
